The present availability of high-capacity networks, computing power, and storage, as well as the widespread adoption of hardware virtualization, service-oriented architecture, and autonomic and utility computing have led to a growth in cloud computing.
In cloud computing, multiple remote servers (usually a large number) are networked to allow centralized data storage and online access to computer services or resources. Cloud resources are typically shared by multiple users and also dynamically reallocated based on demand.
Platform as a Service (PaaS) is a category of cloud computing services in which a computing platform and a solution stack are provided as a service. In PaaS, a provider provides a user with tools and/or libraries for creating an application or service to be hosted on the provider's platform, i.e., servers, storage, and other services that are required to host users' applications. Since PaaS systems typically support only a limited number of programming languages and frameworks, however, adopting a PaaS system may require utilizing an unfamiliar language and/or programming framework. PaaS systems often are also inflexible.
Many software programs prompt a user to enter information via a computer. The user interfaces utilized to elicit user information are often referred to as forms. Writing software to generate such forms is typically time consuming.
Some electronic forms are designed as web pages so that a user can access and enter data into a form using a web browser. Web documents may contain content, markup language (e.g., Hypertext Markup Language (HTML), Extensible Hypertext Markup Language (XHTML), Extensible Markup Language (XML), etc.) elements, style sheets (e.g., Cascading Style Sheets (CSS)), scripts (e.g., JAVASCRIPT®, etc.). Designing web documents using HTML, XHTML, etc., can be time consuming.
WYSIWYG (what you see is what you get) website builders are tools that provide a visual interface for website design; that is, the user of a WYSIWYG website builder is not required to learn code. Such website builders have a gentle learning curve and allow novices to build a website and get it running live on the Internet relatively quickly, although designing web documents using a WYSIWYG builder is still time consuming. Additionally, website builders are inflexible and have limitations with respect to creating web pages that differ from a fixed set of templates.
On the other hand, web editors are tools to facilitate manual construction of websites, and are highly flexible as compared to website builders. As with other web design tools, designing web documents using a web editor is time consuming. Additionally, web editors typically require users to have significant knowledge of web page coding and languages (e.g., HTML, XML, CSS, JAVASCRIPT®, etc.).